/*
 * @Author: zzl
 * @Date: 2022-03-22 14:56:08
 * @LastEditTime: 2022-04-01 10:59:49
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \zzl_demo\src\utils\request.ts
 */

import axios, { AxiosRequestConfig } from 'axios'

const request = axios.create({
  baseURL: import.meta.env.VITE_API_BASE_URL
})

// 请求拦截器
axios.interceptors.request.use(function (config) {
// 统一设置用户身份 token
  return config
}, function (error) {
  return Promise.reject(error)
})
// 相应拦截器
request.interceptors.response.use(function (response) {
// 统一处理接口响应错误，比如token 过期无效，服务端异常
  return response
}, function (error) {
  return Promise.reject(error)
})

export default <T = any>(config:AxiosRequestConfig) => {
  return request(config).then(res => {
    return res.data as T
  })
}
